﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ZeroBug.EasyFlow.Motion
{
    public class XYPos
    {
        public double X { get; set; }
        public double Y { get; set; }
    }
    public class XYZPos
    {
        public double X { get; set; }
        public double Y { get; set; }
        public double Z { get; set; }
    }
    public class XYZRPos
    {
        public double X { get; set; }
        public double Y { get; set; }
        public double Z { get; set; }
        public double R { get; set; }
    }
    public class XYZsRsPos
    {
        public double X { get; set; }
        public double Y { get; set; }
        public List<double> Zs { get; set; }
        public List<double> Rs { get; set; }
        public XYZsRsPos()
        {
            this.Zs = new List<double>();
            this.Rs = new List<double>();
        }
    }
    public enum StopType
    {
        [Description("正常停止")]
        Normal,
        [Description("报警停止")]
        Alarm,
        [Description("急停停止")]
        Emg,
        [Description("硬限位停止")]
        HLimit,
        [Description("软限位停止")]
        SLimit,
        [Description("命令停止")]
        Cmd,
        [Description("外部IO停止")]
        IO,
        [Description("其他停止")]
        Other
    }
    public enum MoveType
    {
        [Description("绝对位置移动")]
        Absolute,
        [Description("相对位置移动")]
        Relative,
        [Description("连续移动")]
        Continuous
    }
    public enum MoveDirection
    {
        [Description("正向移动")]
        Positive,
        [Description("负向移动")]
        Negative
    }
}
